
#ifndef IRIDE_VECTOR2_H_
#define IRIDE_VECTOR2_H_

#include "Types.h"

namespace Iride
{
	class Vector2
	{
	public:
		Real x;
		Real y;

		Vector2();
		Vector2(Real fx, Real fy);

		void Swap(Vector2 &rOther);

		Vector2 operator - ( void ) const;

		Vector2 operator + (const Vector2&) const;
		Vector2 operator - (const Vector2&) const;
		Vector2 operator * (const Real&) const;
		Vector2 operator / (const Real&) const;

		Vector2& operator+= (const Vector2&);
		Vector2& operator-= (const Vector2&);

		bool Normalize(void);

		Real Length() const;

		static Vector2 Lerp(Vector2, Vector2, Real);

		static const Vector2 Zero;


	};
};

#endif


